package ar.com.vates.entradaysalida;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;

public class Comparacion {
	private int record;
	private int cont;

	public int getCont() {
		return cont;
	}

	public void setCont(int cont) {
		this.cont = cont;
	}

	public int getRecord() {
		return record;
	}

	public void setRecord(int record) {
		this.record = record;
	}

	public Comparacion(int num) {
		int b = 0;
		this.cont = 1;
		while (b == 0) {
			this.leerRecord();
			Scanner teclado = new Scanner(System.in);
			System.out.print("Ingrese un numero ");
			int dato = teclado.nextInt();

			if (comparacion(num, dato) == false) {
				System.out.println("Lo siento, el numero no es el correcto");
				b = 0;
				this.cont += 1;
			} else {

				System.out.println("Felicidades, el numero " + num
						+ " es correcto");
				System.out.println("Lo logro en " + cont + " intentos");
				if (this.record == 0) {
					System.out.println("Primer record registrado");
					this.grabarRecord();
				} else if (this.cont < this.record) {
					System.out.println("Un nuevo record se ha registrado!");
				this.grabarRecord();
				}else System.out.println("No ha superado el record de "+this.record+" intentos");
				b =1;
			}
		}
	}

	private void grabarRecord() {
		File archivo = new File("record.txt");
		BufferedWriter bw = null;
		try {
			if (!archivo.exists())
				archivo.createNewFile();

			bw = new BufferedWriter(new FileWriter(archivo));
			bw.write(String.valueOf(this.cont));
			bw.close();

		} catch (Exception e) {
			System.out.println("Error en grabar Record");
		}
	}

	public void leerRecord() {
		File archivo = new File("record.txt");
		BufferedReader br = null;
		try {
			if (archivo.exists()) {
				br = new BufferedReader(new FileReader(archivo));
				String rec = br.readLine();
				if (rec != null)
					this.record = Integer.parseInt(rec);
				else
					this.record = 0;
			}
		} catch (Exception e) {
			System.out.println("Error al leer Record");
		}
	}

	public boolean comparacion(int num, int dato) {

		if (num == dato) {
			return true;
		} else
			return false;
	}

}
